Avatar billede petercal Nybegynder
24. juni 2006 - 13:58 Der er 3 kommentarer

Perl syntax spørgsmål

use Net::SNMP;

my ($session, $error) = Net::SNMP->session(
  -hostname  => shift || 'localhost',
  -community => shift || 'public',
  -port      => shift || 161
);

Hvad betyder "shift ||"

-hostname  => shift || 'localhost' ?

Jeg ved at shift skifter parametre ind fra et array og || er det samme som or, men jeg forstår ikke betydningen her ?
Jeg formoder at -hostname sættes til 'localhost'
Avatar billede erikjacobsen Ekspert
24. juni 2006 - 18:21 #1
shift i denne sammenhæng uden en parameter betyder at den henter parametre på kommandolinien. Hvis parametren er der, så bruges den, ellers bruges defaultværdien efter ||

Et lille eksempel. Lav en, shift.pl, med een linie:

    print shift || 'localhost';

Kalder du den som

    perl shift.pl

udskriver den 'localhost', men med

    perl shift.pl hurraforskattestoppet

udskriver den 'hurraforskattestoppet'
Avatar billede petercal Nybegynder
24. juni 2006 - 21:18 #2
Tak, det var lige det der gav forståelsen
send svar og der er point
Avatar billede erikjacobsen Ekspert
24. juni 2006 - 21:59 #3
Nej tak, jeg samler slet ikke på point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester