我在我的代碼中定義了以下路線:
my $route = $r->any('/api')->to('API#') 。
$route->get('/get_data/:filename')->to('#submit_forms') 。
如果我傳入url的檔案名是 "foo123456.bar_baz.bz2",當我列印引數時,我會得到。(例如http://example.com/api/get_data/foo123456.bar_baz.bz2
print Dumper($c->param('filename')
# foo123456。
為什么要把句號后面的東西都剪掉?
uj5u.com熱心網友回復:使用#(或*)代替:作為你的占位符:
$route->get('/get_data/#filename')->to('#submit_forms') 。
Mojolicious有3種占位符:
- 標準占位符 (
:) 除了/和.- Relaxed占位符 (
以外的任何內容。#) 匹配除/.- 通配符占位符(
*)匹配任何東西。 - Relaxed占位符 (
參考放松占位符的檔案:
它們對于手動匹配帶有擴展名的檔案名特別有用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/311341.html
標籤:
上一篇:用perl單行代碼過濾檔案串列
