Files
2004-perl/foiler/20_pekere2.pl
2025-03-05 11:15:13 +01:00

26 lines
1005 B
Perl

#!/usr/bin/perl
use strict;
use warnings;
# Vi kan også gjøre ting litt mer direkte, uten å lage @array først:
my $arrayref = [ 'geir', 'liker', 'sko' ];
# Og så kan vi hente ut verdier direkte på to måter. De er omtrent like bra,
# så det er bare å velge den du liker best. Personlig derefererer jeg gjerne
# referansen og bruker arrayen/hashen direkte etterpå, som på forrige foil.
print @{$arrayref}[0] . "\n"; # Bruker @{} som før
print $arrayref->[0] . "\n"; # Derefererer peker med ->, som i C.
# Det samme virker for hasher:
my $hashref = { 'name' => 'ottar', 'liker' => 'sko' };
my %hash = %{$hashref};
print %{$hashref}->{'name'} . "\n"; # Perl liker ikke }{, så vi må ha pil.
print $hashref->{'name'} . "\n";
print $hash{'name'} . "\n";
# Legg merke til at den første bare er stygg, og de to siste ligner ganske
# mye på hverandre. Ukritisk bruk av referanser kan være en potensiell
# feilkilde, siden det er lett å blingse. Bare lag en vanlig hash eller
# array, så unngår du problemet.