webForumDet fria alternativet

Pattern matching...

2 svar · 376 visningar · startad av Muzzafarath

MuzzafarathMedlem sedan apr. 20001 474 inlägg
#1

Okej, så här är det. I $ENV{'HTTP_USER_AGENT'} ligger ju vilken browser som surfaren använder. Med den följer en massa information som jag inte behöver (versions-nummer, OS, osv). Det jag vill göra det är att göra ett Perl script som känner igen vilken browser som används.

För att göra detta behöver jag något sätt att leta upp t.ex "Mozilla" eller "MSIE" i $ENV{'HTTP_USER_AGENT'}. Problemet är att jag inte vet hur man använder pattern matching i if-satser. Nån som fattar vad jag babblar om ;)?

if($ENV{'HTTP_USER_AGENT'} innehåller "Mozilla")
{
$browser = "Netscape";
}

elsif($ENV{'HTTP_USER_AGENT'} innehåller "MSIE")
{
$browser = "Internet Explorer";
}

elsif($ENV{'HTTP_USER_AGENT'} innehåller "Opera")
{
$browser = "Opera";
}

/. Muzzafarath

[Redigerat av Muzzafarath den 19 jun 2000]

JojoxxMedlem sedan juni 20004 306 inlägg
#2
if($ENV{'HTTP_USER_AGENT'} =~ /mozilla/i)

i för case-Insensitive. Egentligen är det uttrycket m// som används, men eftersom det är så vanligt accepterar perl även //.

------------------

/ J

[Redigerat av Jojoxx den 19 jun 2000]

MuzzafarathMedlem sedan apr. 20001 474 inlägg
#3

Tack så mycket Jojoxx.

/. Muzzafarath

Genererad på 368 ms · cache AV · v20260730165559-full.f96bc7eb